package chapter02

object Test06_Function4 {
  def main(args: Array[String]): Unit = {
    //函数的闭包 函数中定义一个函数 返回内部函数
    def f1() = {
      var a = 10
      def f2(b:Int): Int = {
        a+=1
        a+b
      }
      f2 _
    }
    //将f1的返回值赋值给变量
    var c = f1()
    //调用c
    println(c(20))
    println(c(20))
    println(f1()(20))
    println(f1()(20))
    //函数的柯里化
    def f3(a:Int)(b:Int):Int={
      a+b
    }
    println(f3(10)(20))
  }
}
